package com.hnx.admin.aurora.system.service;

import com.hnx.admin.aurora.system.domain.param.menu.form.MenuForm;
import com.hnx.admin.aurora.system.domain.param.menu.query.MenuQuery;
import com.hnx.admin.aurora.system.domain.vo.menu.entity.MenuVO;
import com.hnx.admin.aurora.system.domain.vo.user.entity.UserVO;
import com.hnx.admin.aurora.web.json.ResultJson;

import java.util.List;
import java.util.Set;

public interface MenuService {
    Set<String> getPermissionByUser(UserVO userVO);

    List<MenuVO> selectMenuTreeByUser(UserVO userVO);

    ResultJson roleMenuTreeselect(String roleId);
    List<String> selectMenuListByRoleId(String roleId);

    ResultJson selectMenuTreeList();

    ResultJson selectMenuList(MenuQuery menu);

    ResultJson updateMenu(MenuForm menu);

    ResultJson insertMenu(MenuForm menu);

    ResultJson deleteMenuById(String menuId);
    boolean checkMenuExistRole(String menuId);

    ResultJson selectMenuById(String menuId);
}
